#ifndef _GlsxCommon_ShortSound_H_
#define _GlsxCommon_ShortSound_H_

#include "GlsxCommon.h"
#include <string>

BEGIN_GLSX_NAMESPACE

typedef struct AppSoundOperater AppSoundOperater;

struct AppSoundOperater
{
	void* pUserData;
	char pModelName[512];
	int (*SoundOn)(LPARAM lParam, WPARAM wParam, void* pUserData);
	int (*SoundOff)(LPARAM lParam, WPARAM wParam, void* pUserData);
	int (*SoundStop)(LPARAM lParam, WPARAM wParam, void* pUserData);
	int (*SoundPlay)(LPARAM lParam, WPARAM wParam, void* pUserData);
	int (*SoundPause)(LPARAM lParam, WPARAM wParam, void* pUserData);
	int (*SoundResum)(LPARAM lParam, WPARAM wParam, void* pUserData);
};


GlsxCommon_API int InitShortSound();

GlsxCommon_API int DeinitShortSound();

GlsxCommon_API int GsPlaySound(const std::string& strSoundFilePath, const std::string& strModelName = "" );

GlsxCommon_API int GsRegisterAppSound(const std::string& strModelName, AppSoundOperater stOper , void* pUserData = NULL);

GlsxCommon_API int GsUnRegisterAppSound(const std::string& strModelName);

GlsxCommon_API int StopAll();

GlsxCommon_API int ResumAll();


END_GLSX_NAMESPACE

#endif